package com.demo.java.OD151_200.OD174;

import java.util.*;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【身高排序】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145793628
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int h = s.nextInt();  // 小朋友的目标身高
        int n = s.nextInt();  // 小朋友的数量
        List<Integer> highs = new ArrayList<>(n);

        // 读取所有小朋友的身高
        for (int i = 0; i < n; ++i) {
            highs.add(s.nextInt());
        }

        // 对身高列表进行排序
        highs.sort((h1, h2) -> {
            // 先按与目标身高的差值排序
            int diff1 = Math.abs(h1 - h);
            int diff2 = Math.abs(h2 - h);
            // 若差值相同，按身高升序排序
            return diff1 == diff2 ? h1 - h2 : diff1 - diff2;
        });

        // 输出排序后的身高列表
        System.out.println(String.join(" ", highs.stream().map(Object::toString).toArray(String[]::new)));
        s.close();
    }
}